"""
用户模型
"""
from sqlalchemy import Column, Integer, String, DateTime, Boolean
from sqlalchemy.sql import func
from ..database import Base

class User(Base):
    """
    用户表模型
    管理员用户信息
    """
    __tablename__ = "users"  # 数据库表名
    
    # 主键，自动递增
    id = Column(Integer, primary_key=True, index=True)
    
    # 用户名，唯一且不能为空
    username = Column(String(50), unique=True, index=True, nullable=False)
    
    # 密码哈希值
    hashed_password = Column(String(255), nullable=False)
    
    # 用户角色，默认为管理员
    role = Column(String(20), default="admin")
    
    # 是否激活
    is_active = Column(Boolean, default=True)
    
    # 创建时间，自动设置为当前时间
    created_at = Column(DateTime(timezone=True), server_default=func.now())
    
    # 更新时间，每次更新时自动设置
    updated_at = Column(DateTime(timezone=True), onupdate=func.now())